home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / circuits / irsim-ca.2 / irsim-ca / irsim-cap-9.2 / man / irsim-cap.doc < prev    next >
Text File  |  1995-11-03  |  14KB  |  397 lines

  1.  
  2.  
  3.  
  4. IRSIM-CAP(1)             USER COMMANDS               IRSIM-CAP(1)
  5.  
  6.  
  7.  
  8. NAME
  9.      irsim-cap
  10.           A version of the  event-driven  logic-level  simulator,
  11.           IRSIM-9.0,  with  extensions  for  improved capacitance
  12.           measurements.
  13.  
  14. SYNOPSIS
  15.      irsim-cap [-s] prm_file sim_file ... [+hist_file] [-cmd_file
  16.      ...]
  17.  
  18. DESCRIPTION
  19.      IRSIM-CAP is an event-driven logic-level simulator  for  MOS
  20.      (both  N  and P) transistor circuits.  It is based on IRSIM-
  21.      9.0 with certain extensions to allow improved ease and accu-
  22.      racy  when  measuring switching capacitances.  This man page
  23.      describes only the differences between IRSIM-9.0 and  IRSIM-
  24.      CAP.   For a description of the basic IRSIM commands see the
  25.      "irsim(1)" man page.
  26.  
  27. ESTIMATING CAPS WITH IRSIM-9.0
  28.      IRSIM-9.0 itself has a number of commands to aid the user in
  29.      estimating switching capacitance.  They are described below:
  30.  
  31.      caplogfile [[+]file]
  32.           This command turns on  the  feature  which  accumulates
  33.           transitions  on capacitive nodes.  It also starts a log
  34.           file which contains a list of  all  capacitive  transi-
  35.           tions with columns for:
  36.                1)   the time of the event,
  37.                2)   the name of the switching node,
  38.                3)   its old and new values,
  39.                4)   the rise time and delay of the event, and
  40.                5)   the physical capacitance being switched.
  41.  
  42.      captrace [-]node/vector
  43.           This command determines which nodes will be watched for
  44.           capacitive  transitions.   For  example,  "captrace  *"
  45.           causes all nodes to be watched.
  46.  
  47.      sumcap
  48.           This command sums the physical (not switching)  capaci-
  49.           tance of all nodes in the circuit.
  50.  
  51.      logfile [[+]file]
  52.           This command starts a logfile of all simulation output,
  53.           which  upon conclusion of the simulation will contain a
  54.           summary of accumulated switching capacitances  for  all
  55.           nodes.  By column, this summary includes:
  56.                1)   the name of the node,
  57.                2)   the physical capacitance on that node,
  58.                3)   the number of transitions that node made,
  59.                4)   the transition-capacitance product (i.e.  the
  60.  
  61.  
  62.  
  63. Sun Release 4.1    Last change: December 1993                   1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. IRSIM-CAP(1)             USER COMMANDS               IRSIM-CAP(1)
  71.  
  72.  
  73.  
  74.                     effective switching capacitance), and
  75.                5)   the fraction  of  the  total  chip  switching
  76.                     capacitance that the node accounts for.
  77.  
  78. PROBLEMS WITH IRSIM-9.0
  79.      There are, however,  a number of  problems  with  estimating
  80.      switching capacitance using these commands:
  81.  
  82.      1)   IRSIM-9.0 does not count transitions on primary inputs.
  83.           This can be a problem if you're characterizing a module
  84.           and want to include it's input gate capacitance in  the
  85.           results.
  86.  
  87.      2)   IRSIM-9.0 is not particularly clever in how  it  counts
  88.           transitions.   {L,  X,  and  H} are all considered dif-
  89.           ferent states and a change between any of these is con-
  90.           sidered  a transition.  What we're really interested in
  91.           is the number of energy consuming (low to high) transi-
  92.           tions.   Now if there were only L and H states then for
  93.           long simulations the number of L->H  transitions  would
  94.           just  be the total number of transitions that IRSIM-9.0
  95.           gives you divided by two.
  96.  
  97.           But the X state complicates matters  and  can  cause  a
  98.           serious  overestimate  of  switching  capacitance.  For
  99.           example, if a node passes through the X  state  on  its
  100.           rise  from  L  to  H (L->X->H), two transitions will be
  101.           counted when actually only one  charging  occurred.   A
  102.           similar problem occurs when a node temporarily glitches
  103.           (e.g. L->X->L).
  104.  
  105.           Counting "transitions" also  presents  a  problem  when
  106.           trying  to  calculate  the energy drawn from the supply
  107.           over a short sequence of events.  For example, if  only
  108.           one  step  is simulated, during which a node discharges
  109.           from H->L, then even though no energy  was  drawn  from
  110.           the supply the "transition" count is non-zero.
  111.  
  112.      3)   "sumcap" is not particularly useful since it  sums  the
  113.           physical  capacitance  of  all  nodes including Vdd and
  114.           GND, which don't even switch.  What we'd really like is
  115.           to sum the effective 0->1 switching capacitance.
  116.  
  117.      4)   IRSIM-9.0 offers no easy way to calculate  the  capaci-
  118.           tance switched during individual events in a long simu-
  119.           lation sequence.  Instead, you must simulate each event
  120.           separately  and  output a different capacitance summary
  121.           into multiple log files.
  122.  
  123.      5)   We'd like to be able to tell how much  energy  is  con-
  124.           sumed  by  each  of the different components of a chip.
  125.           This is very difficult since sim  files  are  flat  and
  126.  
  127.  
  128.  
  129. Sun Release 4.1    Last change: December 1993                   2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. IRSIM-CAP(1)             USER COMMANDS               IRSIM-CAP(1)
  137.  
  138.  
  139.  
  140.           it's   nearly   impossible  to  tell  what  capacitance
  141.           belonged to what cell originally.
  142.  
  143. ESTIMATING CAPS WITH IRSIM-CAP
  144.      IRSIM-CAP attempts to solve some of these  problems  through
  145.      several additional commands.  These commands are extensions,
  146.      however, and you should still be able to use  the  old  com-
  147.      mands  to  duplicate  your earlier results.  NOTE: issuing a
  148.      "caplogfile" command is no longer necessary to enable  tran-
  149.      sition counting.
  150.  
  151.      inputcap [on | off]
  152.           This command enables you to include transitions on pri-
  153.           mary  inputs  in your capacitance estimations.  It does
  154.           not, however, consider changes in  Vdd  and  GND  since
  155.           these  only  switch  once during power up and including
  156.           this energy would swamp out the  nodal  transitions  in
  157.           which  you're  actually  interested.  Without any argu-
  158.           ments "inputcap" returns the  current  setting  of  the
  159.           flag.
  160.  
  161.      sumeffcap [[+]file]
  162.           IRSIM-CAP keeps track of 0->1 transitions  as  well  as
  163.           "transitions".   It  also  employs  a slightly improved
  164.           accumulation scheme where L->H counts as 1  transition,
  165.           X->H  counts as 0.5 transitions, and L->X counts as 0.5
  166.           transitions.  "sumeffcap" outputs the  total  effective
  167.           capacitance  that  has  been  charged from 0->1 so far.
  168.           Output goes either to  the  screen  or  a  file  (+file
  169.           causes  the  result  to  be appended to the file).  The
  170.           energy drawn from the supply to accomplish this  charg-
  171.           ing is, of course, Ceff*Vdd^2.
  172.  
  173.      zeropower
  174.           This  command  zeros  out  the  accumulated  transition
  175.           counts  for  all  nodes in the circuit.  In conjunction
  176.           with "sumeffcap", this allows you to easily output  the
  177.           capacitance  switched  during individual cycles of your
  178.           overall simulation.
  179.  
  180.      fprint [+]file [text...]
  181.           Output the specified text  to  file.   If  no  text  is
  182.           specified  a  blank  line  is inserted.  The '+' prefix
  183.           specifies the append option rather than overwrite.
  184.  
  185.           This command could be  used  in  conjunction  with  the
  186.           'sumeffcap  [+]file'  command  to  annotate  the output
  187.           file.
  188.  
  189.      capreport [[+]file]
  190.           This command produces a report somewhat similar to that
  191.           discussed in "logfile" above.  I wrote it in an attempt
  192.  
  193.  
  194.  
  195. Sun Release 4.1    Last change: December 1993                   3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. IRSIM-CAP(1)             USER COMMANDS               IRSIM-CAP(1)
  203.  
  204.  
  205.  
  206.           to give the user the ability to figure out the  capaci-
  207.           tance  switched  within  individual modules in a larger
  208.           chip.
  209.  
  210.           Since the sim files are flat, a single node  can  actu-
  211.           ally  represent capacitances from many different inter-
  212.           connected modules on the chip.   But  since  the  nodes
  213.           from the different modules have been collapsed into one
  214.           node in the sim file, there's  no  way  to  tell  which
  215.           cells  may have originally contributed to the collapsed
  216.           nodal capacitance or how much of  a  contribution  each
  217.           module may have made.
  218.  
  219.           If IRSIM was at least aware of the  names  of  all  the
  220.           nodes  that  contributed  capacitance  to the collapsed
  221.           node, then at least some guess could be made as to  how
  222.           much each node contributed.  Fortunately, an alias file
  223.           (*.al) is generated along with each sim file.  By load-
  224.           ing this in with the sim file using:
  225.  
  226.                irsim-cap my.prm my.sim my.al -my.cmds
  227.  
  228.           IRSIM-CAP becomes aware of how  many  nodes  originally
  229.           contributed  to the capacitance of each collapsed node.
  230.           Furthermore, often by looking at the aliased node names
  231.           (e.g.  adder0/B[15]  or  adder0/add_cs_0_0/COUTINV) you
  232.           can tell to what cell  the  node  originally  belonged.
  233.           Then  as an approximation, we can split the lumped node
  234.           capacitance evenly among all contributing nodes  (since
  235.           there's  no  way to derive a more accurate distribution
  236.           from the sim file).
  237.  
  238.           "capreport" facilitates this procedure.  For each  node
  239.           and each node alias, it produces an entry which states:
  240.                1)   the name of the node or alias,
  241.                2)   the number of equivalent  nodes  contributing
  242.                     to the collapsed node,
  243.                3)   the portion of the physical node  capacitance
  244.                     attributed to this particular component node,
  245.                4)   the number of 0->1 transition  on  the  node,
  246.                     and
  247.                5)   the effective capacitance charged  from  0->1
  248.                     for this component node.
  249.  
  250.           The output of "capreport"  can  be  grep'd  through  to
  251.           split  the  capacitance  results  into  different  com-
  252.           ponents.  For example, here's a script I used to parti-
  253.           tion the results of an adder simulation among the vari-
  254.           ous bits:
  255.  
  256.                #! /bin/csh -f
  257.                rm -f bit.energy
  258.  
  259.  
  260.  
  261. Sun Release 4.1    Last change: December 1993                   4
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. IRSIM-CAP(1)             USER COMMANDS               IRSIM-CAP(1)
  269.  
  270.  
  271.  
  272.                foreach n (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
  273.                    echo "Extracting bit $n"
  274.                    echo -n "bit$n- " >> bit.energy
  275.                    egrep "[$n]|bit[^/]*_$n/" cap.report | \
  276.                        chop -f5 | sum >> bit.energy
  277.                end
  278.                echo "Extracting non-bit nodes"
  279.                echo -n "Remainder- " >> bit.energy
  280.                egrep -v "[[0-9]*]|bit" cap.report | chop -f5 | \
  281.                    sum >> bit.energy
  282.  
  283. CAVEATS
  284.      Neither IRSIM-9.0 nor IRSIM-CAP store transition counts dur-
  285.      ing  any  of  their  "dump" commands.  As a result you can't
  286.      start a simulation, stop and save it, and continue it  later
  287.      expecting   to   get  the  correct  accumulated  capacitance
  288.      results.  If memory usage is becoming  a  problem  you  can,
  289.      however,  use the "flush" command to erase the event history
  290.      up to the current simulation time.  This does not  adversely
  291.      affect transition counts for either IRSIM-9.0 or IRSIM-CAP.
  292.  
  293. ON-LINE HELP
  294.      Try "help [inputcap |  sumeffcap  |  zeropower  |  fprint  |
  295.      capreport]" from within IRSIM-CAP.
  296.  
  297. EXAMPLE COMMAND FILE
  298.      model linear
  299.  
  300.      vector IN1 IN1[{15:0}]
  301.      vector IN2 IN2[{15:0}]
  302.      vector OUT OUT[{15:0}]
  303.  
  304.      h Vdd
  305.      l GND
  306.  
  307.      analyzer IN1 IN2
  308.      analyzer OUT
  309.  
  310.      inputcap ON
  311.      captrace *
  312.  
  313.      |
  314.      | Set initial inputs
  315.      |
  316.      set IN1 1010000100000010
  317.      set IN2 1100000110111101
  318.      s 100
  319.  
  320.      |
  321.      | Make transition and output incremental capacitance
  322.      |
  323.      zeropower
  324.  
  325.  
  326.  
  327. Sun Release 4.1    Last change: December 1993                   5
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. IRSIM-CAP(1)             USER COMMANDS               IRSIM-CAP(1)
  335.  
  336.  
  337.  
  338.      set IN1 1001111110111110
  339.      set IN2 0101000010011011
  340.      s 100
  341.      fprint     cap.summary EFFECTIVE INCREMENTAL CAPS:
  342.      fprint    +cap.summary
  343.      sumeffcap +cap.summary
  344.  
  345.      |
  346.      | Make transition and append incremental capacitance
  347.      |
  348.      zeropower
  349.      set IN1 1011010110111010
  350.      set IN2 0101101010011111
  351.      s 100
  352.      sumeffcap +cap.summary
  353.      fprint    +cap.summary
  354.      fprint    +cap.summary END OF SIMULATION
  355.  
  356.      |
  357.      | Output capacitances including info. about aliased nodes
  358.      |
  359.      capreport cap.report
  360.      exit
  361.  
  362. SEE ALSO
  363.      irsim(1)
  364.      presim(1) (now obsolete)
  365.      rsim(1)
  366.      IRSIM-analyzer(3)
  367.      sim(5)
  368.      netchange(5)
  369.  
  370. AUTHORS
  371.      irsim-9.0 is copyrighted (C) 1988, 1990 by Stanford University under the
  372.      following copyright notice:
  373.        *********************************************************************
  374.        * Copyright (C) 1988, 1990 Stanford University.                     *
  375.        * Permission to use, copy, modify, and distribute this              *
  376.        * software and its documentation for any purpose and without        *
  377.        * fee is hereby granted, provided that the above copyright          *
  378.        * notice appear in all copies.  Stanford University                 *
  379.        * makes no representations about the suitability of this            *
  380.        * software for any purpose.  It is provided "as is" without         *
  381.        * express or implied warranty.  Export of this software outside     *
  382.        * of the United States of America may require an export license.    *
  383.        *********************************************************************
  384.      Capacitance modifications for irsim-cap were performed by Paul Landman,
  385.      UC Berkeley, 1993, and they are also provided "as is" without express
  386.      or implied warranty.
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393. Sun Release 4.1    Last change: December 1993                   6
  394.  
  395.  
  396.  
  397.